home *** CD-ROM | disk | FTP | other *** search
/ Amiga Plus 1995 #5 & #6 / Amiga Plus CD - 1995 - No. 5 and 6.iso / pd / netz / magplip / source / smakefile < prev    next >
Encoding:
Makefile  |  1995-08-20  |  6.1 KB  |  219 lines

  1. #!sc:c/smake
  2. #
  3. #####################################################################
  4. #
  5. #  $VER: smakefile 6.2 (20 Aug 1995)
  6. #
  7. #  plip.device - Parallel Line Internet Protocol
  8. #
  9. #  Original code written by Oliver Wagner and Michael Balzer.
  10. #
  11. #  This version has been completely reworked by Marius Gröger,
  12. #  introducing slight protocol changes. The new source is
  13. #  a lot better organized and maintainable.
  14. #
  15. #  (C) Copyright 1993-1994 Oliver Wagner & Michael Balzer
  16. #  (C) Copyright 1995 Marius Gröger
  17. #      All Rights Reserved
  18. #
  19. #  $HISTORY:
  20. #
  21. #  20 Aug 1995 : 006.002 :  support for new port.asm file
  22. #  30 Jul 1995 : 006.001 :  bumped to version 6 to reflect smake requirement
  23. #  24 Apr 1995 : 001.004 :  forgot to release magplip.i
  24. #  09 Mar 1995 : 001.003 :  doesn't do anymore redundant linker runs
  25. #  04 Mar 1995 : 001.002 :  maintains different CPU-optimized object files
  26. #  18 Feb 1995 : 001.001 :  added help facility
  27. #  12 Feb 1995 : 001.000 :  created
  28. #
  29. #####################################################################
  30.  
  31. #####################################################################
  32. #
  33. # installation drawer and names of device
  34. #
  35. INSTALL_DIR = AmiTCP:/Special/DEVS/Networks
  36. DEVICE_DIR  = /DEVS/Networks
  37. BASENAME    = magplip
  38. RELNAME     = magplip
  39. NAME        = magplip.device
  40. VERSION     = 37
  41. #
  42. #####################################################################
  43.  
  44. #####################################################################
  45. #
  46. # Aminet infos
  47. #
  48. AN_AUTHOR   = groeger@gundel.zdv.uni-mainz.de
  49. AN_UPLOADER = groeger@gundel.zdv.uni-mainz.de
  50. AN_SHORT    = SANA II parallel IP device driver
  51. AN_TYPE     = comm/tcp
  52. #
  53. #####################################################################
  54.  
  55. #####################################################################
  56. #
  57. # following stuff is your configuration
  58. #
  59. LIBS        = LIB LIB:amiga.lib LIB lib:sc.lib LIB lib:debug.lib
  60. CINCLUDES   = INCDIR "NETINCLUDE:"
  61. ASMINCLUDES = INCDIR="INCLUDEA:" INCDIR="NETINCLUDE:"
  62. CPUSUFFIX   = 020 # 000 010 020 030 040 ANY
  63. CPUCCOPT    = CPU=68$(CPUSUFFIX)
  64. CP          = C:Copy
  65. MV          = C:Rename
  66. RM          = C:Delete >NIL:
  67. LD          = sc:c/slink
  68. CC          = sc:c/sc
  69. AS          = sc:c/sc
  70. MAKE        = sc:c/smake
  71. BUMPREV     = C:bumprev
  72. SETREV      = C:SetRev
  73. PROTECT     = protect
  74. BUILD_AMINET= /s/build-aminet
  75. ECHO        = Echo
  76. #
  77. #####################################################################
  78.  
  79. #####################################################################
  80. #
  81. # assembler/compiler flags
  82. #
  83. # this applies to normal and optimized compilation:
  84. #
  85. STDFLAGS    = $(CINCLUDES) NOMULTIPLEINCLUDES ERRREXX COMMENTNEST NOSTKCHK NOCHKABORT\
  86.               SMALLCODE SMALLDATA VERBOSE NOICONS STRICT ANSI
  87. #
  88. # this applies only to normal compilation:
  89. #
  90. NORMCFLAGS  = $(STDFLAGS)
  91. #
  92. # this applies only to optimized compilation:
  93. #
  94. OPTCFLAGS   = $(STDFLAGS) $(CPUCCOPT) PARAMETERS=REGISTERS OPT OPTTIME OPTINLINE\
  95.               OPTSCHEDULE STRINGMERGE STRUCTUREEQUIVALENCE
  96. #
  97. # this applies to assembler compilation
  98. #
  99. AFLAGS      = $(ASMINCLUDES) VERBOSE SMALLCODE SMALLDATA
  100. #
  101. #####################################################################
  102.  
  103. #####################################################################
  104. #
  105. # linkage flags
  106. #
  107. LDFLAGS     = NOICONS SC SD ND $(LIBS) TO
  108. OPTLDFLAGS  = NOICONS SC SD ND $(LIBS) TO
  109. #
  110. #####################################################################
  111.  
  112. #####################################################################
  113. #
  114. # the object files
  115. #
  116. NORMOBJ=rt.o device.no server.no track.no crc16.o port.o
  117. OPTOBJ=rt.o device.opt$(CPUSUFFIX) server.opt$(CPUSUFFIX) track.opt$(CPUSUFFIX)\
  118.    crc16.o port.o
  119. #
  120. #####################################################################
  121.  
  122. #####################################################################
  123. #
  124. # rules
  125. #
  126. # compile a file normally
  127. #
  128. .c.no:
  129.    $(CC) $(NORMCFLAGS) $*.c
  130.    -@$(RM) $*.no
  131.    @$(MV) $*.o $*.no
  132. #
  133. # compile a file optimizing
  134. #
  135. .c.opt$(CPUSUFFIX):
  136.    $(CC) $(OPTCFLAGS) $*.c
  137.    -@$(RM) $*.opt$(CPUSUFFIX)
  138.    @$(MV) $*.o $*.opt$(CPUSUFFIX)
  139. #
  140. # assemble a file
  141. #
  142. .asm.o:
  143.    $(AS) $(AFLAGS) $*.asm
  144. #
  145. #####################################################################
  146.  
  147. #####################################################################
  148. #
  149. # targets
  150. #
  151. help:
  152.    -@Echo "Usage:"
  153.    -@Echo "To make an unoptimized version"
  154.    -@Echo "   $(MAKE) all"
  155.    -@Echo "To make an optimized version"
  156.    -@Echo "   $(MAKE) all_opt"
  157.    -@Echo "To install an unoptimized version"
  158.    -@Echo "   $(MAKE) install"
  159.    -@Echo "To install an optimized version"
  160.    -@Echo "   $(MAKE) install"
  161.    -@Echo "To increment the revision"
  162.    -@Echo "   $(MAKE) newrev"
  163.    -@Echo "To remove all intermediate files for unoptimized the version"
  164.    -@Echo "   $(MAKE) clean_norm"
  165.    -@Echo "To remove all intermediate files for optimized the version"
  166.    -@Echo "   $(MAKE) clean_opt"
  167.    -@Echo "To remove all intermediate files"
  168.    -@Echo "   $(MAKE) clean"
  169.  
  170. all: $(DEVICE_DIR)/$(NAME)
  171. all_opt: $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX)
  172.  
  173. install: all
  174.    $(CP) $(DEVICE_DIR)/$(NAME) $(INSTALL_DIR)/$(NAME)
  175.  
  176. install_opt: all_opt
  177.    $(CP) $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX) $(INSTALL_DIR)/$(NAME)
  178.  
  179. newrev:
  180.    $(BUMPREV) $(VERSION) $(BASENAME)
  181.  
  182. clean_norm:
  183.    -@$(RM) *.o
  184.    -@$(RM) *.no
  185.  
  186. clean_opt:
  187.    -@$(RM) *.o
  188.    -@$(RM) *.opt*
  189.  
  190. clean: clean_norm clean_opt
  191.  
  192. release:
  193.    $(MAKE) CPUSUFFIX=000 all_opt
  194.    $(MAKE) CPUSUFFIX=020 all_opt
  195.    $(MAKE) CPUSUFFIX=040 all_opt
  196.    $(BUILD_AMINET) "$(RELNAME)" "$(BASENAME)" "/ReadMe" "//$(BASENAME)" "$(AN_AUTHOR)" "$(AN_UPLOADER)" "$(AN_SHORT)" "$(AN_TYPE)" CLEAN
  197.  
  198. $(DEVICE_DIR)/$(NAME).$(CPUSUFFIX): $(OPTOBJ)
  199.    $(LD) $(OPTOBJ) $(OPTLDFLAGS) $@
  200.  
  201. $(DEVICE_DIR)/$(NAME): $(NORMOBJ)
  202.    $(LD) $(NORMOBJ) $(LDFLAGS) $@
  203. #
  204. #####################################################################
  205.  
  206. #####################################################################
  207. #
  208. # various dependencies
  209. #
  210. rt.o: rt.asm magplip.i magplip_rev.i
  211. crc16.o: crc16.asm
  212. port.o: port.asm
  213. device.opt$(CPUSUFFIX) device.no: device.c magplip.h
  214. server.opt$(CPUSUFFIX) server.no: server.c magplip.h
  215. track.opt$(CPUSUFFIX) track.no: track.c magplip.h
  216. #
  217. #####################################################################
  218.  
  219.